package main.java.jvm;

import java.lang.reflect.Method;

public class Test {
    public static void main(String[] args) throws Exception {
//        ClassLoader myClassLoader = new MyClassLoader();
//        Class<?> clazz = myClassLoader.loadClass("Hello");
//
//        System.out.println(clazz.getClassLoader());
//        Method m = clazz.getMethod("say");
//        m.invoke(null);

//        System.out.println(P.i);
//        System.out.println(P.j);
        /**
         *  0 bipush 8 压栈
         *  2 istore_1 8出栈放到局部变量表为1的地方
         *  3 iload_1 局部变量表id为1的值 压栈
         *  4 iinc 1 by 1 局部变量表为id为1的数 +1
         *  7 istore_1 8出栈放到局部变量表为1的地方
         *  8 getstatic #2 <java/lang/System.out>
         * 11 iload_1
         * 12 invokevirtual #3 <java/io/PrintStream.println>
         * 15 return
         * 非static方法需要this(对象)去调用 所以 局部变量表对非static方法的0位是this
         */
        int a = 8;
        a = a++;
//        a = ++a;
        System.out.println(a);
    }
}
